import { createApp } from "vue";
import App from "./App.vue";

// 引入element-plus插件与样式
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";

// 配置element-plus国际化
// @ts-expect-error忽略当前文件ts类型的检测否则有红色提示(打包会失败)
import zhCn from "element-plus/dist/locale/zh-cn.mjs";

// svg插件需要配置代码
import "virtual:svg-icons-register";

// 引入自定义插件对象:注册整个项目全局组件
import gloalComponent from "@/components";

// 引入全局样式
import "@/styles/index.scss";

// 引入element-plus暗黑模式样式
import "element-plus/theme-chalk/dark/css-vars.css";

// 引入路由
import router from "./router";

// 引入pinia
import pinia from "./store";

// 引入路由守卫permission
import "./permission";

// 引入自定义指令文件
import { isHasButton } from "./utils/hasButton";

const app = createApp(App);
app.use(ElementPlus, {
  locale: zhCn, //element-plus国际化配置
});
app.use(router);
app.use(pinia);
isHasButton(app);
app.use(gloalComponent);
app.mount("#app");
